const http = require("http");
const fs = require("fs");
http
  .createServer(function (request, response) {
    console.log("request come", request.url);
    console.log("host", request.headers.host)
    if (request.url === "/") {
      const html = fs.readFileSync("test.html", "utf8");
      response.writeHead(200, {
        "Content-Type": "text/html",
        "Content-Security-Policy":
          "default-src 'self' https://cdn.bootcdn.net; form-action 'self'; connect-src 'self'; report-uri /report",
        // default-src 为全局资源限制，限制外部连接脚本只能由自己域的服务器提供(\'self\')也就是本站，或 https://cdn.bootcdn.net 网站的资源
        // 只限制script 可以使用 'script-src'
        // form-action 限制表单提交的域 \'self\' 表示只能提交到本站
        // report-uri /report 表示如果出现内容安全策略问题就要向服务器发送报告
        // "Content-Security-Policy" 可以设为 "Content-Security-Policy-Report-Only" 表示不符合容安全策略，资源还是会加载，但是会发报告
        // 'connect-src' 为对网页内ajax的策略限制
      });
      response.end(html);
    } else {
      response.writeHead(200, {
        "Content-Type": "application/javascript",
      });
      response.end('console.log("loaded script")');
    }
  })
  .listen(8888);

console.log("server is listening on 8888");
